/**
 * @param s:需要保留的小数点位
 * @description js重写toFixed方法（兼容负数），js四舍五入保留小数不准确
 * @returns {string} 返回相应小数点位的数字字符串
 */
Number.prototype.myToFixed = function (s) {
  // 作者：web_xyk
  // 来源：CSDN
  // 原文：https://blog.csdn.net/web_xyk/article/details/52164687
  // 版权声明：本文为博主原创文章，转载请附上博文链接！
  // let that = this, changenum, index;
  //
  // // 负数
  // if (this < 0) {
  //   that = -that;
  // }
  //
  // changenum = (parseInt(that * Math.pow(10, s) + 0.5) / Math.pow(10, s)).toString();
  //
  // index = changenum.indexOf(".");
  //
  // if (index < 0 && s > 0) {
  //   changenum = changenum + ".";
  //   for (let i = 0; i < s; i++) {
  //     changenum = changenum + "0";
  //   }
  // } else {
  //   index = changenum.length - index;
  //   for (let i = 0; i < (s - index) + 1; i++) {
  //     changenum = changenum + "0";
  //   }
  // }
  //
  // if (this < 0) {
  //   return -changenum;
  // } else {
  //   return changenum;
  // }

  let v = parseFloat(this)
  let pow = Math.pow(10, s)

  let result = (Math.round(v * pow) / pow).toString()

  return result
}
